<html>
<head>
<title>PHPMailer Lite - DKIM and Callback Function test</title>
</head>
<body>

<?php
/*
 * This is a sample callback function for PHPMailer Lite. This callback function will echo the results of PHPMailer processing.
 */

/* Callback (action) function
 *   bool    $result        result of the send action
 *   string  $to            email address of the recipient
 *   string  $cc            cc email addresses
 *   string  $bcc           bcc email addresses
 *   string  $subject       the subject
 *   string  $body          the email body
 * @return boolean
 */
function callbackAction($result, $to, $cc, $bcc, $subject, $body) {
	/*
	 * this callback example echos the results to the screen - implement to post to databases, build CSV log files, etc., with minor changes
	 */
	$to = cleanEmails ( $to, 'to' );
	$cc = cleanEmails ( $cc [0], 'cc' );
	$bcc = cleanEmails ( $bcc [0], 'cc' );
	echo $result . "\tTo: " . $to ['Name'] . "\tTo: " . $to ['Email'] . "\tCc: " . $cc ['Name'] . "\tCc: " . $cc ['Email'] . "\tBcc: " . $bcc ['Name'] . "\tBcc: " . $bcc ['Email'] . "\t" . $subject . "<br />\n";
	return true;
}

$testLite = false;

if ($testLite) {
	require_once '../class.phpmailer-lite.php';
	$mail = new PHPMailerLite ();
} else {
	require_once '../class.phpmailer.php';
	$mail = new PHPMailer ();
}

try {
	$mail->IsMail (); // telling the class to use SMTP
	$mail->SetFrom ( 'you@yourdomain.com', 'Your Name' );
	$mail->AddAddress ( 'another@yourdomain.com', 'John Doe' );
	$mail->Subject = 'PHPMailer Lite Test Subject via Mail()';
	$mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional
	                                                                                     // -
	                                                                                     // MsgHTML
	                                                                                     // will
	                                                                                     // create
	                                                                                     // an
	                                                                                     // alternate
	                                                                                     // automatically
	$mail->MsgHTML ( file_get_contents ( 'contents.html' ) );
	$mail->AddAttachment ( 'images/phpmailer.gif' ); // attachment
	$mail->AddAttachment ( 'images/phpmailer_mini.gif' ); // attachment
	$mail->action_function = 'callbackAction';
	$mail->Send ();
	echo "Message Sent OK</p>\n";
} catch ( phpmailerException $e ) {
	echo $e->errorMessage (); // Pretty error messages from PHPMailer
} catch ( Exception $e ) {
	echo $e->getMessage (); // Boring error messages from anything else!
}
function cleanEmails($str, $type) {
	if ($type == 'cc') {
		$addy ['Email'] = $str [0];
		$addy ['Name'] = $str [1];
		return $addy;
	}
	if (! strstr ( $str, ' <' )) {
		$addy ['Name'] = '';
		$addy ['Email'] = $addy;
		return $addy;
	}
	$addyArr = explode ( ' <', $str );
	if (substr ( $addyArr [1], - 1 ) == '>') {
		$addyArr [1] = substr ( $addyArr [1], 0, - 1 );
	}
	$addy ['Name'] = $addyArr [0];
	$addy ['Email'] = $addyArr [1];
	$addy ['Email'] = str_replace ( '@', '&#64;', $addy ['Email'] );
	return $addy;
}

?>
</body>
</html>
